#include <future>
#include <iostream>
#include <thread>

// 一个简单的函数，用于模拟复杂的计算
void compute(int x) {
    std::cout << "Processing: " << x << std::endl;
}

int main() {
    // 封装 compute 函数
    std::packaged_task<void(int)> task(compute);
    
    // 获取与任务关联的 future
    std::future<void> result = task.get_future();
    
    // 在新线程中执行任务
    std::thread thread(std::move(task), 10);
    thread.join();  							// 等待任务完成
    
    std::cout << "Task completed" << std::endl;
}